home *** CD-ROM | disk | FTP | other *** search
- ;Based on a C source from Amiga News 81 by Eric Totel
- ;Adapted in Blitz Basic 2 by Erwan Fouret
-
- ;Please use XINCLUDE "mui.bb2" instead defines below
-
- ;***** libraries/mui.h (c)Stefan Stuntz *****
-
- #MUIO_Button=2
-
- #MUIA_String_MaxLen=$80424984
- #MUIA_String_Contents=$80428FFD
- #MUIA_Frame=$8042AC64
- #MUIV_Frame_String=4
-
- #MUIA_Group_Child=$804226E6
- #MUIA_Group_Horiz=$8042536B
- #Child=#MUIA_Group_Child
-
- #MUIA_Window_Title=$8042AD3D
- #MUIA_Window_RootObject=$8042CBA5
- #MUIA_Window_Open=$80428AA0
- #MUIA_Window_CloseRequest=$8042E86E
- #WindowContents=#MUIA_Window_RootObject
-
- #MUIA_Application_Title=$804281B8
- #MUIA_Application_Author=$80424842
- #MUIA_Application_Base=$8042E07A
- #MUIA_Application_Copyright=$8042EF4D
- #MUIA_Application_Description=$80421FC6
- #MUIA_Application_Version=$8042B33F
- #MUIA_Application_Window=$8042BFE0
- #SubWindow=#MUIA_Application_Window
-
- #MUIV_Application_ReturnID_Quit=-1
-
- #MUIM_Notify=$8042C9CB
- #MUIA_Pressed=$80423535
- #MUIM_Set=$8042549A
- #MUIA_ShowMe=$80429BA8
- #MUIM_Application_ReturnID=$804276EF
- #MUIM_Application_Input=$8042D0F5
-
- ;***** BEGIN *****
-
- WBStartup
- NoCli:CloseEd
-
- NEWTYPE.tags a.l:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:End NEWTYPE
-
- DEFTYPE.tags atags,wtags,vtags,stags,htags,setags,dm1tags,dm2tags,dm3tags
- DEFTYPE.l
-
- Dim t$(10),*tp.b(10)
-
- t$(0)="Test" ;Application Title
- t$(1)="Erwan Fouret" ;Application Author
- t$(2)="TEST" ;Application Base
- t$(3)="Erwan Fouret" ;Application Copyright
- t$(4)="An example of MUI application" ;Application Description
- t$(5)="$VER: TestMUIV1.0 (02.02.97)" ;Application Version
- t$(6)="Test" ;Window Title
- t$(7)="Text" ;String Text
- t$(8)="_Hide" ;Button Text
- t$(9)="_Quit" ;Button Text
-
- For i=0 To 9 ;We make pointers
- t$(i)=t$(i)+Chr$(0) ;of strings
- *tp(i)=&t$(i) ;for use in tags
- Next i
-
- *BT_Quit.b=MUI_MakeObjectA_(#MUIO_Button,&*tp(9)) ;We make two simple
- *BT_Hide.b=MUI_MakeObjectA_(#MUIO_Button,&*tp(8)) ;buttons
-
- stags\a=#MUIA_Frame,#MUIV_Frame_String ;Tags definition
- stags\c=#MUIA_String_MaxLen,80 ;for the creation
- stags\e=#MUIA_String_Contents,*tp(7),0 ;of a string gadget
-
- *STR_String.b=MUI_NewObjectA_("String.mui",stags) ;We make it
-
- htags\a=#MUIA_Group_Horiz,1 ;Tags for an horizontal group
- htags\c=#Child,*BT_Hide,#Child,*BT_Quit,0
-
- vtags\a=#Child,*STR_String,#Child,MUI_NewObjectA_("Group.mui",htags),0
- ;Tags for a vertical group
-
- wtags\a=#MUIA_Window_Title,*tp(6) ;Tags for
- wtags\c=#WindowContents,MUI_NewObjectA_("Group.mui",vtags),0 ;a simple win
-
- *MyWindow.b=MUI_NewObjectA_("Window.mui",wtags) ;We create the window
-
- atags\a=#MUIA_Application_Title,*tp(0) ;Tags
- atags\c=#MUIA_Application_Author,*tp(1) ;for
- atags\e=#MUIA_Application_Base,*tp(2) ;the
- atags\g=#MUIA_Application_Copyright,*tp(3) ;MUI
- atags\i=#MUIA_Application_Description,*tp(4) ;appliaction
- atags\k=#MUIA_Application_Version,*tp(5)
- atags\m=#SubWindow,*MyWindow,0
-
- *App.b=MUI_NewObjectA_("Application.mui",atags) ;The application is created !
-
- DoMethod *BT_Hide,#MUIM_Notify,#MUIA_Pressed,0,*STR_String,3,#MUIM_Set,#MUIA_ShowMe,0
- DoMethod *BT_Quit,#MUIM_Notify,#MUIA_Pressed,0,*App,2,#MUIM_Application_ReturnID,#MUIV_Application_ReturnID_Quit
- ;These methods specify the action to execute when a button is pressed
-
- DoMethod *MyWindow,#MUIM_Notify,#MUIA_Window_CloseRequest,1,*App,2,#MUIM_Application_ReturnID,#MUIV_Application_ReturnID_Quit
- ;Quit if the window is closed
-
- setags\a=#MUIA_Window_Open,1,0
-
- SetAttrsA_ *MyWindow,setags ;We open the Window
-
- running=1
-
- signal.l=0
-
- While(running) ;Main loop
- Select DoMethod(*App,#MUIM_Application_Input,&signal) ;Is there a signal ???
- Case #MUIV_Application_ReturnID_Quit ;Quit ?
- running=0
- End Select
- If (running & signal) Wait_(signal) ;Wait next signal
- Wend
-
- MUI_DisposeObject_ *App ;Free the application
-
- End
-